home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 4 / CDPD_IV.bin / e / mailinglists / amigae.0993sept.archive / 000067_crash!kirk.safb.af.mil!BWILLS_Sun, 26 Sep 93 02:24:18 PST.msg < prev    next >
Internet Message Format  |  1994-05-26  |  7KB

  1. Received: by bkhouse.cts.com (V1.16/Amiga)
  2.     id AA00000; Sun, 26 Sep 93 02:24:18 PST
  3. Received: from kirk.safb.af.mil by crash.cts.com with smtp
  4.     (Smail3.1.28.1 #18) id m0ogbiw-0000fhC; Sat, 25 Sep 93 08:39 PDT
  5. Message-Id: <m0ogbiw-0000fhC@crash.cts.com>
  6. Date: 25 Sep 93 10:37:00 CST
  7. From: "Barry D. Wills" <BWILLS@kirk.safb.af.mil>
  8. To: "amigae" <amigae@bkhouse.cts.com>
  9. Subject: Re: How Does E Stack Against Other Languages
  10.  
  11. In reply to a message from Trey:
  12.  
  13. >This message is in references to THORNTONJ@iccgcc.cs.hh.ab.com's question:
  14. >
  15. >|how does Amiga E stack up to other langs. like C and
  16. >|Basic in terms of learning curve, ease of use, etc., etc. 
  17. >
  18. >I figured out how to program in E within about a couple of months.  For me, the
  19.  
  20. If you have prior experience with other languages the transition to E should be
  21. rather easy.  I began coding after one evening of reading the docs and some of 
  22. the easier examples.
  23.  
  24. >biggest trick was getting used to the polymorphic nature of the variables.. I
  25. >kept passing the wrong variables around, guruing my computer <chuckle>.
  26.  
  27. Programming in E does require a more rudimentary knowledge of the computer, but
  28. once I got used to E's loose typing I found that I liked it ALOT!  I've always
  29. been an advocate of string typing, but E makes loose typing powerful AND 
  30. elegant.  E had proven to me that a well designed language can dispense with 
  31. all  that extra strong-typing baggage and not detract from productivity and 
  32. reliability.  Contrary to popular claims of strong-typing advocates, I'm coding
  33. projects faster in E than in any other language I've tried so far.  
  34.  
  35. GURUs:  when you try to use the more powerful features of any programming 
  36. language your gonna crash the machine.  I've crashed my Amiga more often using 
  37. C++ than with E (and I've had to wait 300 to 500 times longer to compile, link, 
  38. and crash my computer in C++! :-)  I've even crashed my machine using 
  39. AmigaBASIC, imagine that!
  40.  
  41. >E's strongest feature, in my opinion, is its handling of lists.  I really LOVE
  42. >that.  The polymorphic variable bit is very good, too.  However, I still like
  43.  
  44. Lists, a unique and VERY powerful feature.  And they will get better in the 
  45. next release!
  46.  
  47. >C++'s object oriented nature.. I LOATHE global variables, and find myself
  48. >having to do some funky weirdnesses to work around global variables in E, where
  49.  
  50. Hm, what do you have to do?
  51.  
  52. >I have less trouble in C++.  Further, I don't much care for E's handling of
  53. >objects.. that is, you cannot have objects within objects without having to
  54. >reference a separate variable.. eg:
  55. >
  56. >OBJECT fulubreath
  57. > smile:INT;
  58. > grin:INT;
  59. > laugh:INT;
  60. > make_others_suffer:fulubreath
  61. >ENDOBJECT
  62. >
  63. >DEF goo:fulubreath, gah:fulubreath
  64. >
  65. >/* you cannot....*/
  66. >
  67. >goo.make_others_suffer.laugh
  68. >
  69. >/* you must instead */
  70. ?
  71. >gah:=goo.make_others_suffer
  72. >
  73. >gah.laugh
  74.  
  75. This is a recurring complaint, something for which I've found a suitable
  76. solution.  So here it is again:
  77.  
  78.   PROC laughFrom (b : PTR TO fulubreath) RETURN b.laugh
  79.  
  80. to use it:
  81.  
  82.   react(laughFrom(goo.make_others_suffer))
  83.  
  84. If you do this frequently in your code, it's smoother and more readable than 
  85. dereferencing by multiple assignments.
  86.  
  87. >I find this to be rather annoying.. but given E's advances, I'm willing to put
  88.  
  89. Yes, E is advancing and we shouldn't have to put up with it forever. :)
  90.  
  91. >up with it.  One other annoying thing is the lack of a modular approach to
  92. >programming in E.. that is, you may not create separate *.e files and merge
  93. >them together into one.  While EPP sort of addresses this issue, I've
  94. >experienced some minor problems with EPP (although, to be honest, overall, I
  95. >like the way EPP handles things better than most compilors).
  96.  
  97. This WILL go away with the next release.  E v2.5 will support modules, and in
  98. a much better way then EPP.
  99.  
  100. >However, E is FAST.  I LOVE that... I generally don't have to wait for
  101.  
  102. I believe the proper expression is "E is FA-A-A-A-A-A-A-AST!!!" :-)  It is a 
  103. major fault of E that when I used C++ I always had an opportunity to go get a 
  104. sandwich or take a leak.  EC doesn't give me the chance to step away!  Oh well, 
  105. not all languages/compilers are perfect :-/  (joke, you may laugh :-)
  106.  
  107. >half-an-eternity for my files to compile.  And it creates VERY compact code,
  108. >with built-in stacks (so your users needn't worry about THAT nonsense), and
  109. >several other nifties.  It uses the Amiga's potential better than any other
  110.  
  111. Yes, indeedy!  I'd also like to add that E is far more reliable than any other
  112. language I've used on the Amiga.  My C++ compiler came with some broken and/or
  113. missing functions! And that thing cost me $225 at the time.  I'm still pissed
  114. about that 3 years later!  And I was told that if I wanted to upgrade my 
  115. compiler I would need to buy a *complete* C package to replace the outdated one
  116. supplied with C++ (already 2 major versions behind!),  another $150-$200!  
  117. Which brings up two more issues.  Even if Wouter charges "a lot" for v2.5 it 
  118. will still be much more affordable than other commercial products, and if you 
  119. have access to this mailing list (and you've proven that you do) then you 
  120. already have better support than most other Amiga programmers, including those
  121. who buy expensive C++ compilers from well-known corporations. :-)
  122.  
  123. >language I've seen to date.. my compaints above are mere quibblings compared to
  124. >the advantages of using E for the Amiga.
  125.  
  126. I agree.  Devote a small amount of time to learning E and you won't be able to
  127. escape the attraction, AH-HAAH-HAAH! B-D
  128.  
  129. >So.. if you want portability, and Object Oriented features, C++ is still my
  130.  
  131. E will soon rival C++ objects!  And try to do exceptions in C++, Aaargh! :)
  132.  
  133. >favorite.  But if you want something that'll make really EXCELLENT code for
  134. >your Amiga, E is the language for it.  I'm very much looking forward to E's
  135. >update, as I suspect the issues I've raised are already being worked on.  E's
  136. >portability will probably always be a problem, though.. but I don't really
  137. >care.  I don't much like MS-DOS or MacIntosh anyway.. I'd rather program for my
  138. >Amiga.
  139.  
  140. I'd like to temper my reactions here somewhat.
  141.  
  142. I do like C++.  It's a pretty cool language, but it has some serious problems. 
  143. Those problems are being addressed, but at a very slow rate (because 10 billion
  144. comittees must agree on the proposed changes, and there are politics involved.)
  145. And some of those changes won't be improvements IMHO.  E is improving rapidly, 
  146. and I haven't seen one proposed change that I dislike, not one.
  147.  
  148. And please don't take anything I said here personally, Trey.  I wanted to reply
  149. to the original message and didn't I have the time.  But yours popped up in my
  150. mailbox today and gave me some good points to focus on, and since I now have
  151. the time...
  152.  
  153. - Trey
  154.  
  155. Take it easy, use E.  LONG LIVE E PROGRAMMERS!
  156.  
  157. -- Barry